根据激光雷达点云中点的坐标计算ring的值 |
您所在的位置:网站首页 › evod ring什么意思 › 根据激光雷达点云中点的坐标计算ring的值 |
目前velodyne系列的激光雷达已经会提供ring的值, 所谓ring的值,就是每个点是几束光发出来的。 参考这个图 那如果没有提供的话,就需要自己来算 ring的值了. 下面是一段参考代码. # read binary data scan = (np.fromfile(velo_filename, dtype=np.float32)).reshape(-1, 4) # get ring channel depth = np.linalg.norm(scan, 2, axis=1) pitch = np.arcsin(scan[:, 2] / depth) # arcsin(z, depth) fov_down = -24.8 / 180.0 * np.pi fov = (abs(-24.8) + abs(2.0)) / 180.0 * np.pi proj_y = (pitch + abs(fov_down)) / fov # in [0.0, 1.0] proj_y *= 64 # in [0.0, H] proj_y = np.floor(proj_y) proj_y = np.minimum(64 - 1, proj_y) proj_y = np.maximum(0, proj_y).astype(np.int32) # in [0,H-1] proj_y = proj_y.reshape(-1, 1)这里面有两个超参24.8, 2.0 分别代表着光束的最下边那束光与水平线的夹角,与最上面那束光与水平线的夹角,一般都是下面的大,上面的小,因为光打到空中也没啥用。 这两个参数是kitti中的,这也是为什么kitti的激光雷达基本上都是下面的点偏多. 上面的计算也非常的容易懂, 就是先算出pitch, 然后看pitch占整个 光束张角的比例,注意这时候算的时候,pitch要加上下张角,估计是因为最下面那束光的标号是0(对于kitti而言.) 然后根据比例以及总线数,算出来大致是在哪一个光束. |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |